/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package leitorescritorcomthread;

import java.rmi.RemoteException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Pedro Ribeiro
 */
public class OperacaoCliente implements Runnable{
    private int idCliente;
    private boolean operacao;
    private String texto;
    private LeitorEscritorImplementacao server;

    public OperacaoCliente(int idCliente, boolean operacao, String texto, LeitorEscritorImplementacao server) {
        this.idCliente = idCliente;
        this.operacao = operacao;
        this.texto = texto;
        this.server = server;
    }
    
    public OperacaoCliente() {
    }
    
    public void setIdCliente(int idCliente){
      this.idCliente = idCliente; 
    }
    
    public void setOperacao(boolean operacao){
      this.operacao = operacao; 
    }
    
    public void setTexto(String texto){
      this.texto = texto; 
    }
    
    public void setServer(LeitorEscritorImplementacao server){
      this.server = server; 
    } 
    
    
    @Override
    public void run() {
        if(operacao == Cliente.OP_ESCRITA){
            try{
                server.escrever(Servidor.arquivo, texto, idCliente);
            } catch (RemoteException ex) {
                Logger.getLogger(OperacaoCliente.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        else{
            try {
                server.ler(Servidor.arquivo, idCliente);
            } catch (RemoteException ex) {
                Logger.getLogger(OperacaoCliente.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
    
    
    
}
